﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using kk.components.contracts;
using kk.messages.contracts.DataModel;

namespace kk.reservierungsrahmen.form.tests
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            IReservierungsrahmen reservierungsrahmen = new FrmCouchPotato(new MockBelegungsplanAnsicht());
            reservierungsrahmen.OnBelegungsplanZuVorstellung += req => { Console.WriteLine("OnBelegungsplanZuVorstellung"); req.ResponsePin(null); };
            reservierungsrahmen.OnBelegungsplan += belegungsplan => { Console.WriteLine("OnBelegungsplan"); };
            reservierungsrahmen.OnReservierungsanfrage += req =>
                                                              {
                                                                  if (DateTime.Now.Second % 2 == 0)
                                                                  {
                                                                      req.ResponsePin(new Reservierungsbestätigung(DateTime.Now.Second.ToString(), true));
                                                                  }
                                                                  else
                                                                  {
                                                                      req.ResponsePin(new Reservierungsbestätigung("?", false));
                                                                  }
                                                              };
            reservierungsrahmen.Configure();

            Application.Run((Form)reservierungsrahmen);
        }
    }
}
